import java.util.Scanner;
//方法：方法的调用是在栈上的，
//public static 返回值 方法名（形式参数列表）{
//      方法体;
//}
//没有返回值时，类型必须写成void
//1.类型和个数，顺序都要匹配
//2.一一匹配的
//public:访问修饰限定符
//方法重载：
//1.方法名必须相同
//2.方法的参数列表不同（顺序，个数，类型）
//3.和返回值没有关系

//总结：
//1.方法的调用是在栈上的
//2.当方法遇到return或者遇到右花括号代表当前方法结束了。对应方法开辟的栈帧回收了
public class Test {

    //方法重载
    public static int sum(int a,int b) {

        return a + b;
    }
    public static int sum(int a,int b,int c) {

        return a + b + c;
    }
    public static  double sum(double a,double b) {

        return a + b;
    }
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int ret1 = sum(a,b);
        System.out.println(ret1);

        double d1 = 12.3;
        double d2 = 13.2;
        double ret2 = sum(a,b);
        System.out.println(ret2);

        System.out.println(sum(1, 2, 3));
    }
    ///////////////////////////////////
    //目前做不到，学习了类和对象之后，才能解决这个问题
    public static void sawp(int a,int b ) {
        int tmp = a;
        b = tmp;
        tmp = a;
    }
    public static void main6(String[] args) {
        /*int a = 10;
        int b = 20;*/
        sawp(10,20);
        /*System.out.println(a);
        System.out.println(b);*/
    }

    /////////////////////////////////////
    public static int facNum(int num){
        int sum = 0;
        for (int j = 1; j <= num ; j++) {
            int ret = 1;
            for (int i = 1; i <= j ; i++) {
                ret *= i;
            }
            sum += ret;
        }
        return sum;
    }
    public static void main5(String[] args) {
        /*int ret = facNum(5);
        System.out.println(ret);*/
        System.out.println(facNum(5));
    }


    /////////////////////////////////////////
    public static int add(int a,int b) {

        return a + b;
    }
    public static void main4(String[] args) {
        int a = 10;
        int b = 20;
        int ret1 = add(1,2);
        System.out.println("使用返回值:" + ret1);
        int p = ret1 * 5;
        System.out.println(p);

        int ret2 = add(a,b);
        System.out.println("使用返回值：" + ret2);
    }


    public static boolean isLeapYear(int year){
        //int year = 1900;
        if ((0 == year % 4 && 0 != year % 100|| 0 == year % 400)){
            //System.out.println(year+"是闰年");
            return true;
        }else {
            //System.out.println(year + "不是闰年");
            return false;
        }
    }

    public static void main3(String[] args) {
       boolean flg = isLeapYear(2022);
        System.out.println(flg);
    }


    //水仙花数
    public static void main2(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        for(int i = 0;i <= n;i++){
            //判断i是几位数，求得每个位上是几 加起来==原来的数字
            int count = 0;
            int tmp = i;
            while(tmp != 0){
                count++;
                tmp = tmp / 10;
            }
            //tmp 为0了，i还是原来的值


        }
    }

    public static void main1(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int i = 2;
        for(; i < n;i++) {
            if(n % i == 0) {
                //System.out.println(n +"不是素数");/*/
                break;
            }
            if(n == i) {
                System.out.println(n +"是素数");
            }
        }
    }
}
